<?php
/**
 * 
 * @author Natanael
 * Modelo de Apellido
 * 
 */
class Mapellido extends Model{

         private $_nameTable = "RN_Apellido";
         
         public function __construct()
         {
            parent::Model();
		    $this->load->database();
         }
         
         public function loadApellido($start = false, $offset = false, $sortname = false, $sortorder = false)
         {
            
              if($offset != false)
				  $this->db->limit($offset, $start);

			  if($sortname != false && $sortorder != false){ 
				  $this->db->order_by($sortname, $sortorder);
			   }else{
			      $this->db->order_by('Id_Actividad', 'ASC');
			   }	  
				  
		      $result = $this->db->get_where($this->_nameTable);
	
			  return $this->GetArrayFromQueryResult($result);
			
         }
         
         public function loadApellidoByActividad($id) 
         {
         	 $result = $this->db->get_where($this->_nameTable, array('Id_Actividad'=>$id));
	
			  return $this->GetArrayFromQueryResult($result);  
         }
         
       public function LoadApellidoById($idActividad) 
	   {
		   $qresult = $this->db->get_where($this->_nameTable, array('Id_Apellido' => $idActividad));		
		
		   if ($qresult->num_rows() == 0)
		   {
			 return false;
		   }	
           
		   return new RM_Apellido($qresult->row());
	    }
         
         public function GetArrayFromQueryResult($result) 
	     {
			if ($result->num_rows() == 0)
				return false;
	
			$estatus_arr = array();
	
			foreach ($result->result() as $record) {
				$estatus_arr[] = new RM_Apellido($record);
			}
	
			return $estatus_arr;
         }
         
        public function crear($data)
        {
           if ($this->db->insert($this->_nameTable,$data)) {
           	  return true;
           }
           
            return false;
        }
        
        public function edit($data, $id)
        {
           if ($this->db->update($this->_nameTable,$data,array('Id_Apellido'=>$id))) {
           	  return true;
           }
           
            return false;
        }
        
        public function delete($id)
        {
             if ($this->db->delete($this->_nameTable,array('Id_Apellido'=>$id))) {
           	    return true;
             }
           
              return false;
        }

}

class RM_Apellido{
          
	     private $_idApellido = 0;
	     private $_descripcionApellido = "";
	     private $_idActividad = 0;
	     
	     public function __construct($ojt)
	     {
	        $this->setIdApellido($ojt->Id_Apellido);
	        $this->setDescripcionApellido($ojt->Descripcion_Apellido);
	        $this->setIdActividad($ojt->Id_Actividad);
	     } 
	     
	     public function getIdApellido(){
	        return $this->_idApellido;
	     }
	     
         public function setIdApellido($ojt){
	        $this->_idApellido = $ojt;
	     }
	     
	     public function getDescripcionApellido()
	     {
	        return $this->_descripcionApellido;
	     }
	     
         public function setDescripcionApellido($ojt)
	     {
	        $this->_descripcionApellido = $ojt;
	     }
	     
         public function getIdActividad()
	     {
	        return $this->_idActividad;
	     }
	     
         public function setIdActividad($ojt)
	     {
	        $this->_idActividad = $ojt;
	     }
}